package br.com.datatraffic.fiscal.entidades;

// Generated 10/07/2009 10:49:54 by Hibernate Tools 3.2.0.b9

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * VeiculoCuidadoEspecial generated by hbm2java
 */
@Entity
@Table(name = "TBVEICULO_CUIDADO_ESPECIAL")
public class VeiculoCuidadoEspecial implements java.io.Serializable {

	private Long id;
	private ResponsavelVeiculo responsavelVeiculo;
	private CuidadoEspecial cuidadoEspecial;
	private Veiculo5 veiculo;
	private Date dataInicio;
	private Date dataFim;

	public VeiculoCuidadoEspecial() {
	}

	public VeiculoCuidadoEspecial(Long id, CuidadoEspecial cuidadoEspecial, Veiculo5 veiculo) {
		this.id = id;
		this.cuidadoEspecial = cuidadoEspecial;
		this.veiculo = veiculo;
	}

	public VeiculoCuidadoEspecial(Long id, ResponsavelVeiculo responsavelVeiculo, CuidadoEspecial cuidadoEspecial,
			Veiculo5 veiculo, Date dataInicio, Date dataFim) {
		this.id = id;
		this.responsavelVeiculo = responsavelVeiculo;
		this.cuidadoEspecial = cuidadoEspecial;
		this.veiculo = veiculo;
		this.dataInicio = dataInicio;
		this.dataFim = dataFim;
	}

	@Id
	@GeneratedValue
	@Column(name = "VEICULO_CUIDADO_ESPECIAL_ID", unique = true, nullable = false, precision = 38, scale = 0)
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "RESPONSAVEL_ID")
	public ResponsavelVeiculo getResponsavelVeiculo() {
		return this.responsavelVeiculo;
	}

	public void setResponsavelVeiculo(ResponsavelVeiculo responsavelVeiculo) {
		this.responsavelVeiculo = responsavelVeiculo;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "CUIDADO_ESPECIAL_ID", nullable = false)
	public CuidadoEspecial getCuidadoEspecial() {
		return this.cuidadoEspecial;
	}

	public void setCuidadoEspecial(CuidadoEspecial cuidadoEspecial) {
		this.cuidadoEspecial = cuidadoEspecial;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "VEICULO_ID", nullable = false)
	public Veiculo5 getVeiculo() {
		return this.veiculo;
	}

	public void setVeiculo(Veiculo5 veiculo) {
		this.veiculo = veiculo;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "DATA_INICIO")
	public Date getDataInicio() {
		return this.dataInicio;
	}

	public void setDataInicio(Date dataInicio) {
		this.dataInicio = dataInicio;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "DATA_FIM")
	public Date getDataFim() {
		return this.dataFim;
	}

	public void setDataFim(Date dataFim) {
		this.dataFim = dataFim;
	}

	// The following is extra code specified in the hbm.xml files
	private static final long serialVersionUID = 1L;
	// end of extra code specified in the hbm.xml files

}
